import request from "@/utils/request"

/**
 *@params：
 *@desc：热门评论
 * 说明 : 调用此接口 , 传入 type, 资源 id 可获得对应资源热门评论 ( 不需要登录 )
 *
 * 必选参数 :
 *
 * id : 资源 id
 *
 * type: 数字 , 资源类型 , 对应歌曲 , mv, 专辑 , 歌单 , 电台, 视频对应以下类型
 *
 * 0: 歌曲
 *
 * 1: mv
 *
 * 2: 歌单
 *
 * 3: 专辑
 *
 * 4: 电台
 *
 * 5: 视频
 * 可选参数 : limit: 取出评论数量 , 默认为 20
 *
 * offset: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)*20, 其中 20 为 limit 的值
 *
 * before: 分页参数,取上一页最后一项的 time 获取下一页数据(获取超过 5000 条评论的时候需要用到)
 *
 * 接口地址 : /comment/hot
 *
 * 调用例子 : /comment/hot?id=186016&type=0
 *@author：羽
 *@date 2022/08/13 14:07:31
 */
export const getCommentHot = (params = { limit: 20,type: 2, before: 0, offset: 0 }) => {
  return request({
    method: 'get',
    url: '/comment/hot',
    params: {
      ...params,
      timerstamp: new Date().getTime(),//传入参数时间戳
    }
  })
}
/**
 *@params：
 *@desc：新版评论接口（没有回复的数据）
 * 说明 : 调用此接口 , 传入资源类型和资源 id,以及排序方式,可获取对应资源的评论
 *
 * 必选参数 :
 * id : 资源 id, 如歌曲 id,mv id
 *
 * type: 数字 , 资源类型 , 对应歌曲 , mv, 专辑 , 歌单 , 电台, 视频对应以下类型
 *
 * 0: 歌曲
 *
 * 1: mv
 *
 * 2: 歌单
 *
 * 3: 专辑
 *
 * 4: 电台
 *
 * 5: 视频
 *
 * 6: 动态
 * 可选参数 :
 * pageNo:分页参数,第 N 页,默认为 1
 *
 * pageSize:分页参数,每页多少条数据,默认 20
 *
 * sortType: 排序方式, 1:按推荐排序, 2:按热度排序, 3:按时间排序
 *
 * cursor: 当sortType为 3 时且页数不是第一页时需传入,值为上一条数据的 time
 *
 * 接口地址 : /comment/new
 *
 * 调用例子 : /comment/new?type=0&id=1407551413&sortType=3, /comment/new?type=0&id=1407551413&sortType=3&cursor=1602072870260&pageSize=20&pageNo=2
 *@author：羽
 *@date 2022/08/13 13:40:11
 */
export const getCommentNew = (params = { id: '', pageSize: 20,type: 2, pageNo: 1, sortType: 1 }) => {
  return request({
    method: 'get',
    url: '/comment/new',
    params: {
      ...params,
      timerstamp: new Date().getTime(),//传入参数时间戳
    }
  })
}

/**
 *@params：
 *@desc：
 * 发送/删除评论
 * 说明 : 调用此接口,可发送评论或者删除评论
 *
 * 接口地址 : /comment
 *
 * 发送评论
 *
 * 必选参数
 *
 * t:1 发送, 2 回复
 *
 * type: 数字,资源类型,对应歌曲,mv,专辑,歌单,电台,视频对应以下类型
 *
 * 0: 歌曲
 *
 * 1: mv
 *
 * 2: 歌单
 *
 * 3: 专辑
 *
 * 4: 电台
 *
 * 5: 视频
 *
 * 6: 动态
 * id:对应资源 id
 *
 * content :要发送的内容
 *
 * commentId :回复的评论 id (回复评论时必填)
 *
 * 调用例子 : /comment?t=1&type=1&id=5436712&content=test (往广岛之恋 mv 发送评论: test)
 *
 * 注意：如给动态发送评论，则不需要传 id，需要传动态的 threadId,如：/comment?t=1&type=6&threadId=A_EV_2_6559519868_32953014&content=test
 *
 *
 * 删除评论
 *
 * 必选参数
 *
 * t:0 删除
 *
 * type: 数字,资源类型,对应歌曲,mv,专辑,歌单,电台,视频对应以下类型
 *
 *    0: 歌曲
 *
 *    1: mv
 *
 *    2: 歌单
 *
 *    3: 专辑
 *
 *    4: 电台
 *
 *
 *    5: 视频
 *
 *    6: 动态
 * id:对应资源 id content :内容 id,可通过 /comment/mv 等接口获取
 *
 * 调用例子 : /comment?t=0&type=1&id=5436712&commentId=1535550516319 (在广岛之恋 mv 删除评论)
 *
 * 注意：如给动态删除评论，则不需要传 id，需要传动态的 threadId,如：/comment?t=0&type=6&threadId=A_EV_2_6559519868_32953014&commentId=1419516382
 *@author：羽
 *@date 2022/08/13 12:25:33
 */

// 可以发送删除回复评论 params = {
// t: 1 发送 2 回复 0 删除， type: 用来判断是0：歌曲还是2：歌单还是其他的,
// id: 对应资源id, content: 要发送的内容， 如果要是删除的话这个存内容id，
// commentId: 回复评论的id
// }
export const sendOrDelComment = (params) => {
  return request({
    method: 'get',
    url: '/comment',
    params: {
      ...params,
      timerstamp: new Date().getTime(),//传入参数时间戳
    }
  })
}

/**
 *@params：
 *@desc：给评论点赞
 * 说明 : 调用此接口 , 传入 type, 资源 id, 和评论 id cid 和 是否点赞参数 t 即可给对 应评论点赞 ( 需要登录 )
 *
 * 必选参数 : id : 资源 id, 如歌曲 id,mv id
 *
 * cid : 评论 id
 *
 * t : 是否点赞 , 1 为点赞 ,0 为取消点赞
 *
 * type: 数字 , 资源类型 , 对应歌曲 , mv, 专辑 , 歌单 , 电台, 视频对应以下类型
 *
 * 0: 歌曲
 *
 * 1: mv
 *
 * 2: 歌单
 *
 * 3: 专辑
 *
 * 4: 电台
 *
 * 5: 视频
 *
 * 6: 动态
 * 接口地址 : /comment/like
 *
 * 调用例子 : /comment/like?id=29178366&cid=12840183&t=1&type=0 对应给 https://music.163.com/#/song?id=29178366 最热门的评论点赞
 *
 * 注意： 动态点赞不需要传入 id 参数，需要传入动态的 threadId 参数,如：/comment/like?type=6&cid=1419532712&threadId=A_EV_2_6559519868_32953014&t=0， threadId 可通过 /event，/user/event 接口获取
 *@author：羽
 *@date 2022/08/13 14:23:28
 */
//  { id: 0 歌单id, cid: 0 评论id, t: 1点赞 0取消点赞, type: 2歌单 0 歌曲, threadId:这个是给动态点赞需要传递  threadId 可通过 /event，/user/event 接口获取 就不需要 资源id了,  }
export const sendCommentLike = (params) => {
  return request({
    method: 'get',
    url: '/comment/like',
    params: {
      ...params,
      timerstamp: new Date().getTime(),//传入参数时间戳
    }
  })
}

/**
 *@params：
 *@desc：歌单评论(老接口)
 * 说明 : 调用此接口 , 传入音乐 id 和 limit 参数 , 可获得该歌单的所有评论 ( 不需要 登录 )
 *
 * 必选参数 : id: 歌单 id
 *
 * 可选参数 : limit: 取出评论数量 , 默认为 20
 *
 * offset: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)*20, 其中 20 为 limit 的值
 *
 * before: 分页参数,取上一页最后一项的 time 获取下一页数据(获取超过 5000 条评论的时候需要用到)
 *
 * 接口地址 : /comment/playlist
 *
 * 调用例子 : /comment/playlist?id=705123491
 *@author：羽
 *@date 2022/08/13 15:32:09
 */
export const getCommentPlaylist = (params) => {
  return request({
    method: 'get',
    url: '/comment/playlist',
    params: {
      ...params,
      timerstamp: new Date().getTime(),//传入参数时间戳
    }
  })
}

/**
 *@params：
 *@desc：专辑评论
 * 说明 : 调用此接口 , 传入音乐 id 和 limit 参数 , 可获得该专辑的所有评论 ( 不需要 登录 )
 *
 * 必选参数 : id: 专辑 id
 *
 * 可选参数 : limit: 取出评论数量 , 默认为 20
 *
 * offset: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)*20, 其中 20 为 limit 的值
 *
 * before: 分页参数,取上一页最后一项的 time 获取下一页数据(获取超过 5000 条评论的时候需要用到)
 *
 * 接口地址 : /comment/album
 *
 * 调用例子 : /comment/album?id=32311
 *@author：羽
 *@date 2022/08/16 13:40:25
 */

export const getCommentAlbum = (params) => {
  return request({
    method: 'get',
    url: '/comment/album',
    params: {
      ...params,
      timerstamp: new Date().getTime(),//传入参数时间戳
    }
  })
}

/**
 *@params：
 *@desc：歌曲评论
 * 说明 : 调用此接口 , 传入音乐 id 和 limit 参数 , 可获得该音乐的所有评论 ( 不需要登录 )
 *
 * 必选参数 : id: 音乐 id
 *
 * 可选参数 : limit: 取出评论数量 , 默认为 20
 *
 * offset: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)*20, 其中 20 为 limit 的值
 *
 * before: 分页参数,取上一页最后一项的 time 获取下一页数据(获取超过 5000 条评论的时候需要用到)
 *
 * 接口地址 : /comment/music
 *
 * 调用例子 : /comment/music?id=186016&limit=1 对应晴天评论
 *@author：羽
 *@date 2022/08/17 15:48:35
 */
export const getCommentMusic = (params) => {
  return request({
    method: 'get',
    url: '/comment/music',
    params: {
      ...params,
      timerstamp: new Date().getTime(),//传入参数时间戳
    }
  })
}

/**
 *@params：
 *@desc：电台节目评论
 * 说明 : 调用此接口 , 传入音乐 id 和 limit 参数 , 可获得该 电台节目 的所有评论 ( 不需要登录 )
 *
 * 必选参数 : id: 电台节目的 id
 *
 * 可选参数 : limit: 取出评论数量 , 默认为 20
 *
 * offset: 偏移数量 , 用于分页 , 如 :( 评论页数 -1)*20, 其中 20 为 limit 的值
 *
 * before: 分页参数,取上一页最后一项的 time 获取下一页数据(获取超过 5000 条评论的时候需要用到)
 *
 * 接口地址 : /comment/dj
 *
 * 调用例子 : /comment/dj?id=794062371
 *@author： 羽
 *@date： 2022/09/25 11:02:57
 */

export const getCommentDj = (params) => {
  return request({
    method: 'get',
    url: '/comment/dj',
    params: {
      ...params,
      timerstamp: new Date().getTime(),//传入参数时间戳
    }
  })
}

/**
 *@params：
 *@desc：获取动态评论
 * 说明 : 登录后调用此接口 , 可以获取动态下评论
 *
 * 必选参数 : threadId : 动态 id，可通过 /event，/user/event 接口获取
 *
 * 接口地址 : /comment/event
 *
 * 调用例子 : /comment/event?threadId=A_EV_2_6559519868_32953014
 *@author： 羽
 *@date： 2022/11/10 20:00:03
 */
export const getCommentEvent = (params) => {
  return request({
    method: 'get',
    url: '/comment/event',
    params: {
      ...params,
      timerstamp: new Date().getTime(),//传入参数时间戳
    }
  })
}